package com.vhall.component.entity.sign.vo;

import com.vhall.component.framework.common.annotation.ParamName;
import lombok.Data;
import org.hibernate.validator.constraints.Length;
import org.hibernate.validator.constraints.Range;

import javax.validation.constraints.NotBlank;
import java.io.Serializable;

/**
 * 获取发起的签到列表请求VO
 *
 * @author shenghua.luo
 */
@Data
public class SignGetsReqVO implements Serializable {

    @ParamName("app_id")
    @NotBlank(message = "应用appId不能为空")
    @Length(max = 32)
    private String appId;
    /**
     * 开始游标
     */
    @Range(min = 0, max = 100000)
    private Integer offset;

    /**
     * 每次查询取回的条数
     */
    @Range(min = 1, max = 1000)
    private Integer limit;

    /**
     * 排序类型：
     * asc 正序
     * desc 倒序
     */
    @ParamName("sort_type")
    private String sortType;

    /**
     * 来源ID
     */
    @ParamName("room_id")
    @Length(max = 255)
    private String roomId;

    /**
     * 签到创建者ID
     */
    @ParamName("creator_id")
    @Length(max = 255)
    private String creatorId;

    /**
     * 是否获取签到人数：1.是，0.否，如果业务中不需要签到人数，请不要传此字段
     */
    @ParamName("get_sign_count")
    @Range(min = 0, max = 1)
    private Integer getSignCount;

    /**
     * 开始时间 2020-02-21 18:03:42
     */
    @ParamName("start_time")
    private String startTime;

    /**
     * 结束时间 2020-02-21 18:12:09
     */
    @ParamName("end_time")
    private String endTime;
}
